﻿_FichaEstadoPostulante = function () {
    this._Ficha = null;
    this._EstadoPostulante = null;

    this.EventoDespuesDeEnviarFicha = function () {
        return true;
    }

    this.VerificarEstadoFicha = function () {
        return true;
    }


    this.InitFichaEstadoPostulante = function (ContFicha, ContEstadoPostulante, Clie_ID, CodigoConvocatoria) {
        var _parent = this;



        _parent.InitFicha(ContFicha
            , Clie_ID
            , CodigoConvocatoria

            //Ejecutar despues de acabar la carga de la ficha
            , function () {
                _parent.InitEstado(ContEstadoPostulante, Clie_ID, CodigoConvocatoria,

                //Ejecutar despues de acabar la carga del estado postulante
                function () {
                    _parent._Ficha.VerificarEstadoFicha = function () {
                        _parent._EstadoPostulante.Form(
                                                                    {
                                                                        Clie_ID: _parent._EstadoPostulante.Clie_ID,
                                                                        CodigoConvocatoria: _parent._EstadoPostulante.CodigoConvocatoria
                                                                    });
                    };

                    //Modificando los eventos despues de enviar la ficha
                    _parent.EventoDespuesDeEnviarFicha();
                }
                )
            }
        );
        //.complete(function () {
        //  console.log(_parent._Ficha);
        //La verificacion del estado de la ficha se realiza llamando una sola vez


        // });

        //        _parent.InitFicha(ContFicha, Clie_ID, CodigoConvocatoria);
        //        _parent.InitEstado(ContEstadoPostulante, Clie_ID, CodigoConvocatoria);

    }

    this.InitFicha = function (Cont, Clie_ID, CodigoConvocatoria, fun) {
        var _parent = this;

        //Vemos si existe el estado del postulante
        if (_parent._Ficha == null) {
            jQuery.getScript(URL_PAGE + "Scripts/app/postulante/Ficha/Ficha.js?1", function () {
                _Ficha.prototype = new Mantenimiento();
                _parent._Ficha = new _Ficha();
                _parent.InitFicha(Cont, Clie_ID, CodigoConvocatoria, fun);
            });
        } else {
            _parent._Ficha.Clie_ID = Clie_ID;
            _parent._Ficha.CodigoConvocatoria = CodigoConvocatoria;
            _parent._Ficha.Init(Cont, Clie_ID, CodigoConvocatoria);

            if (fun) {
                fun();
            }

        }

    };

    this.InitEstado = function (Cont, Clie_ID, CodigoConvocatoria, fun) {
        var _parent = this;

        //Vemos si existe el estado del postulante
        if (_parent._EstadoPostulante == null) {
            jQuery.getScript(URL_PAGE + "Scripts/app/postulante/Ficha/EstadosPostulante.js", function () {
                _EstadoPostulante.prototype = new Mantenimiento();
                _parent._EstadoPostulante = new _EstadoPostulante();
                //Invocando nuevamente al metodo
                _parent.InitEstado(Cont, Clie_ID, CodigoConvocatoria, fun);
            });
        } else {

            _parent._EstadoPostulante.Clie_ID = Clie_ID;
            _parent._EstadoPostulante.CodigoConvocatoria = CodigoConvocatoria;

            _parent._EstadoPostulante.Init(
                        Cont
                        , { Form: URL_PAGE + "Postulante/Ficha/EstadoFichaForm" }
                        , "All");


            _parent._EstadoPostulante.Form(
                    {
                        Clie_ID: Clie_ID,
                        CodigoConvocatoria: CodigoConvocatoria
                    });

            if (fun) {
                fun();
            }
        }
    };
}